import {h, render} from "vue"
import confirmComponent from "./index.vue"

/**
 *
 * @param title 标题(如果用户没有传递内容,那么标题做为内容)
 * @param content 内容(如果没有title,那么content会被作为第一个参数传入)
 * @param cancelText 取消按钮文本
 * @param confirmText 确定按钮文本
 */

export const MineConfirm = (title,
                        content,
                        cancelText = '取消',
                        confirmText = '确定'
) => {
    return new Promise((resolve, reject) => {
        // 允许只传递 content
        if (title && !content) {
            content = title
            title = ''
        }

        // 关闭弹层事件
        const close = () => {
            render(null, document.body)
        }

        // 取消按钮事件
        const cancelHandler = () => {
        }

        // 确定按钮事件
        const confirmHandler = () => {
            resolve()
        }

        // 1. vNode
        const vNode = h(confirmComponent, {
            title,
            content,
            cancelText,
            confirmText,
            confirmHandler,
            cancelHandler,
            close
        })
        // 2. render
        render(vNode, document.body)
    })
}

